// 用户相关ts类型
// 接口返回数据
export interface ResponseData {
  code: number
  message: string
  ok: boolean
}

// 定义一个账号的信息的ts类型
export interface User {
  id?: number | string
  createTime?: string
  updateTime?: string
  username: string
  password: string
  name: string
  phone?: string
  roleName?: string
}

// 定义用户列表
export type UserList = User[]

// 定义用户数据类型
export interface UserData {
  records: UserList // 用户列表信息
  total: number // 数据总条数
  size: number // 每页几条数据
  current: number // 当前第几页
  pages: number // 总共多少页
}

// 获取全部用户信息接口返回的数据类型
export interface UserResponseData extends ResponseData {
  data: UserData
}

// 定义一个角色的ts类型
export interface RoleData {
  id: string | number
  createTime?: string
  updateTime?: string
  roleName: string
  remark: string
}

// 所有职位的列表
export type AllRole = RoleData[]

// 获取角色返回数据的ts类型
export interface AllRoleResponseData extends ResponseData {
  data: {
    assignRoles: AllRole
    allRolesList: AllRole
  }
}

// 定义根据用户分配角色的参数ts类型
export interface AssignRolesParamsData {
  roleIdList: number[]
  userId: number
}
